package com.imooc.spring.ioc.class014;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.annotation.Order;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Configuration
@ComponentScan("com.imooc.spring.ioc.class014")
public class MyConfiguration {
    // List注入方法1
    /*
    @Bean("stringList") // 添加属性beanId，可改变优先级
    public List<String> stringList() {
        List<String> list = new ArrayList<String>();
        list.add("1111");
        list.add("2222");
        return list;
    }
    */
    // Map注入
    @Bean
    public Map<String, Integer> integerMap() {
        Map<String, Integer> map = new HashMap<>();
        map.put("aaa", 111);
        map.put("bbb", 222);
        return map;
    }
    // List注入方法2。优先级较高
    @Bean
    @Order(56)
    public String string1() {
        return "333";
    }
    @Bean
    @Order(28)
    public String string2() {
        return "444";
    }
    // Map注入方式2。
    @Bean("int1")
    public Integer integer1() {
        return 333;
    }
    @Bean("int2")
    public Integer integer2() {
        return 444;
    }
}
